package com.zmn.oms.dubbo.interfaces.normal.apply;

import com.zmn.common.dto2.ResponseDTO;
import com.zmn.oms.common.dio.normal.apply.RebuildOrderDIO;
import com.zmn.oms.common.dro.normal.apply.RebuildOrderDRO;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

import javax.validation.constraints.NotNull;

/**
 * @Author: wyc
 * @Description: 取消申请操作类
 * @Date: 2022/5/27 14:21
 * @Version: 1.0
 */
public interface CancelApplyRemoteService {

    @ApiOperation(
            value = "重建订单",
            response = ResponseDTO.class,
            tags = {"取消申请"}
    )
    ResponseDTO<RebuildOrderDRO> rebuildOrder(
            @NotNull(message = "入参不能为空") @ApiParam(value = "入参", required = true)
            RebuildOrderDIO rebuildOrderDIO);

    @ApiOperation(
            value = "校验取消重复",
            response = ResponseDTO.class,
            tags = {"工单查询"}
    )
    ResponseDTO<Boolean> checkDuplicateOrder(@NotNull(message = "订单号不能为空")
                                          @ApiParam(value = "订单号", required = true)
                                          Long orderId,
                                          @NotNull(message = "工单号不能为空")
                                          @ApiParam(value = "工单好", required = true)
                                          Long workId);
}
